package com.ruoyi.wms.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 入库记录对象 wms_in_list
 * 
 * @author yy
 * @date 2024-02-15
 */
public class WmsInList extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 部门id */
    private Long id;

    /** 仓库id */
    private Long deptId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String deptName;

    /** 申请编号 */
    @Excel(name = "申请编号")
    private String inputCode;

    /** 申请类型 */
    @Excel(name = "申请类型")
    private String inputType;

    /** 物品编号 */
    @Excel(name = "物品编号")
    private String code;

    /** 物品名称 */
    @Excel(name = "物品名称")
    private String name;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String model;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal inQuantity;

    /** 报修数量 */
    @Excel(name = "报修数量")
    private BigDecimal repairQuantity;

    /** 报废数量 */
    @Excel(name = "报废数量")
    private BigDecimal scrapQuantity;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inTime;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 老师ID */
    @Excel(name = "老师ID")
    private Long userId;

    private String inAgreeQuantity;//应入库数量
    private String inNotQuantity;//未入库数量

    private String startDate;
    private String endDate;
    private List<WmsInList> itemList ;
    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public List<WmsInList> getItemList() {
        return itemList;
    }

    public void setItemList(List<WmsInList> itemList) {
        this.itemList = itemList;
    }

    public String getInAgreeQuantity() {
        return inAgreeQuantity;
    }

    public void setInAgreeQuantity(String inAgreeQuantity) {
        this.inAgreeQuantity = inAgreeQuantity;
    }

    public String getInNotQuantity() {
        return inNotQuantity;
    }

    public void setInNotQuantity(String inNotQuantity) {
        this.inNotQuantity = inNotQuantity;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setInputCode(String inputCode) 
    {
        this.inputCode = inputCode;
    }

    public String getInputCode() 
    {
        return inputCode;
    }
    public void setInputType(String inputType) 
    {
        this.inputType = inputType;
    }

    public String getInputType() 
    {
        return inputType;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setInQuantity(BigDecimal inQuantity) 
    {
        this.inQuantity = inQuantity;
    }

    public BigDecimal getInQuantity() 
    {
        return inQuantity;
    }
    public void setRepairQuantity(BigDecimal repairQuantity) 
    {
        this.repairQuantity = repairQuantity;
    }

    public BigDecimal getRepairQuantity() 
    {
        return repairQuantity;
    }
    public void setScrapQuantity(BigDecimal scrapQuantity) 
    {
        this.scrapQuantity = scrapQuantity;
    }

    public BigDecimal getScrapQuantity() 
    {
        return scrapQuantity;
    }
    public void setInTime(Date inTime) 
    {
        this.inTime = inTime;
    }

    public Date getInTime() 
    {
        return inTime;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("inputCode", getInputCode())
            .append("inputType", getInputType())
            .append("code", getCode())
            .append("name", getName())
            .append("model", getModel())
            .append("type", getType())
            .append("unit", getUnit())
            .append("inQuantity", getInQuantity())
            .append("repairQuantity", getRepairQuantity())
            .append("scrapQuantity", getScrapQuantity())
            .append("inTime", getInTime())
            .append("status", getStatus())
            .append("userId", getUserId())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
